package request

// 注册用户
type Register struct {
	NickName                string `json:"nick_name" form:"nick_name"`
	Mobile                  string `json:"mobile" form:"mobile"`
	Password                string `json:"password" form:"password"`
	Sex                     string `json:"sex" form:"sex"`
	Address                 string `json:"address" form:"address"`
	UserRegisterTime        string `json:"user_register_time" form:"user_register_time" `
	UserLoginTime           string `json:"user_login_time" form:"user_login_time"`
	LastLoginMethod         int32  `json:"last_login_method" form:"last_login_method"`
	LastLoginTimeOnScreen   string `json:"last_login_time_on_screen" form:"last_login_time_on_screen"`
	LastLoginMethodOnScreen int32  `json:"last_login_method_on_screen" form:"last_login_method_on_screen"`
	LastOrderTime           string `json:"last_order_time" form:"last_order_time"`
	UserRole                int32  `json:"user_role" form:"user_role"`
}

// 登录用户
type Login struct {
	Mobile   string `json:"mobile" form:"mobile"`
	Password string `json:"password" form:"password"`
}

// 用户钱包
type UserWallet struct {
	UserId                   int32  `json:"user_id" form:"user_id"`
	UserAvailableBalance     string `json:"user_available_balance" form:"user_available_balance"`
	UserFrozenBalance        string `json:"user_frozen_balance" form:"user_frozen_balance"`
	UserInvoiceableAmount    string `json:"user_invoiceable_amount" form:"user_invoiceable_amount"`
	UninvoicedAmountForTrips string `json:"uninvoiced_amount_for_trips" form:"uninvoiced_amount_for_trips"`
}

// 用户个人信息
type IndividualUserReq struct {
	Name                string  `json:"name" form:"name"`
	Mobile              string  `json:"mobile" form:"mobile"`
	EnterpriseUser      string  `json:"enterprise_user" form:"enterprise_user"`
	MemberLevel         string  `json:"member_level" form:"member_level"`
	UserPrice           float64 `json:"user_price" form:"user_price"`
	RegistrationChannel string  `json:"registration_channel" form:"registration_channel"`
}

// 用户消费记录
type UserConsumptionInformationReq struct {
	UserId                    int32   `json:"user_id" form:"user_id"`
	PayNo                     int32   `json:"pay_no" form:"pay_no"`
	Event                     string  `json:"event" form:"event"`
	PriceTime                 string  `json:"price_time" form:"price_time"`
	OrderNo                   string  `json:"order_no" form:"order_no"`
	GiftAmount                string  `json:"gift_amount" form:"gift_amount"`
	RechargeAmountPrincipal   string  `json:"recharge_amount_principal" form:"recharge_amount_principal"`
	TotalRechargeAmount       int32   `json:"total_recharge_amount" form:"total_recharge_amount"`
	RefundAmount              int32   `json:"refund_amount" form:"refund_amount"`
	TotalOrderPrice           float64 `json:"total_order_price" form:"total_order_price"`
	MonthlyOrderPaymentAmount int32   `json:"monthly_order_payment_amount" form:"monthly_order_payment_amount"`
}

// 用户发票
type UserInvoiceReq struct {
	Name                    string `json:"name" form:"name"`
	TaxIdentificationNumber string `json:"tax_identification_number" form:"tax_identification_number"`
	Address                 string `json:"address" form:"address"`
	Mobile                  string `json:"mobile" form:"mobile"`
	BankOfDeposit           string `json:"bank_of_deposit" form:"bank_of_deposit"`
	BankAccount             string `json:"bank_account" form:"bank_account"`
}

// 用户发票详情
type UserInvoiceDetailReq struct {
	Id int32 `json:"id" form:"id"`
}

// 个人信息详情
type UserindelDetailReq struct {
	Id int32 `json:"id" form:"id"`
}

// 用户消费记录详情
type UserConsumptionInformationDetailReq struct {
	UserId int32 `json:"user_id" form:"user_id"`
}

// 实名认证
type RealNameReq struct {
	UserId   int32  `json:"user_id" form:"user_id"`
	RealName string `json:"real_name" form:"real_name"`
	IdCard   string `json:"id_card" form:"id_card"`
}

// 列表终端
type ListTerminalReq struct {
	Terminal string `json:"terminal" form:"terminal"`
}

// 列表手机号
type ListMobileReq struct {
	Mobile string `json:"mobile" form:"mobile"`
}

// 列表
type ListReq struct {
}

// 列表手机号状态
type ListPhoneStatusReq struct {
	PhoneStatus int32 `json:"phone_status" form:"phone_status"`
}

// 列表税号
type ListTaxIdentificationNumberReq struct {
	TaxIdentificationNumber string `json:"tax_identification_number" form:"tax_identification_number"`
}

// 修改用户信息
type UpdateUserReq struct {
	UserId                  int32  `json:"user_id" form:"user_id"`
	NickName                string `json:"nick_name" form:"nick_name"`
	RealName                string `json:"real_name" form:"real_name"`
	IdCard                  string `json:"id_card" form:"id_card"`
	Sex                     string `json:"sex" form:"sex"`
	Address                 string `json:"address" form:"address"`
	UserRegisterTime        string `json:"user_register_time" form:"user_register_time"`
	UserLoginTime           string `json:"user_login_time" form:"user_login_time"`
	LastLoginMethod         int32  `json:"last_login_method" form:"last_login_method"`
	LastLoginTimeOnScreen   string `json:"last_login_time_on_screen" form:"last_login_time_on_screen"`
	LastLoginMethodOnScreen int32  `json:"last_login_method_on_screen" form:"last_login_method_on_screen"`
	LastOrderTime           string `json:"last_order_time" form:"last_order_time"`
	CType                   int32  `json:"c_type" form:"c_type"`
	UserRole                int32  `json:"user_role" form:"user_role"`
}

// 个人用户充值记录
type PersonalUserRechargeReq struct {
	UserId                    int32  `json:"user_id" form:"user_id" binding:"required"`
	RechargeTransactionId     string `json:"recharge_transaction_id" form:"recharge_transaction_id" binding:"required"`
	UserName                  string `json:"user_name" form:"user_name" binding:"required"`
	Mobile                    string `json:"mobile" form:"mobile" binding:"required"`
	UserType                  string `json:"user_type" form:"user_type"`
	RechargeTime              string `json:"recharge_time" form:"recharge_time" binding:"required"`
	RechargeAmountPrincipal   string `json:"recharge_amount_principal" form:"recharge_amount_principal" binding:"required"`
	GiftAmount                string `json:"gift_amount" form:"gift_amount"`
	RechargeDiscount          string `json:"recharge_discount" form:"recharge_discount"`
	ThirdPartyTransactionId   string `json:"third_party_transaction_id" form:"third_party_transaction_id"`
	RechargeChannel           string `json:"recharge_channel" form:"recharge_channel" binding:"required"`
}

// 个人用户退款记录
type PersonalUserRefundReq struct {
	UserId                   int32  `json:"user_id" form:"user_id" binding:"required"`
	RefundTransactionId      string `json:"refund_transaction_id" form:"refund_transaction_id" binding:"required"`
	UserName                 string `json:"user_name" form:"user_name" binding:"required"`
	Mobile                   string `json:"mobile" form:"mobile" binding:"required"`
	UserType                 string `json:"user_type" form:"user_type"`
	RefundTime               string `json:"refund_time" form:"refund_time" binding:"required"`
	RefundAmount             string `json:"refund_amount" form:"refund_amount" binding:"required"`
	RefundReason             string `json:"refund_reason" form:"refund_reason"`
	ThirdPartyTransactionId  string `json:"third_party_transaction_id" form:"third_party_transaction_id"`
	RefundChannel            string `json:"refund_channel" form:"refund_channel" binding:"required"`
	RefundStatus             string `json:"refund_status" form:"refund_status"`
}

// 个人用户充值记录查询请求
type PersonalUserRechargeListReq struct {
	RechargeTransactionId     string `json:"recharge_transaction_id" form:"recharge_transaction_id"`
	Mobile                    string `json:"mobile" form:"mobile"`
	UserName                  string `json:"user_name" form:"user_name"`
	RechargeChannel           string `json:"recharge_channel" form:"recharge_channel"`
	StartTime                 string `json:"start_time" form:"start_time"`
	EndTime                   string `json:"end_time" form:"end_time"`
	Page                      int32  `json:"page" form:"page"`
	PageSize                  int32  `json:"page_size" form:"page_size"`
}

// 个人用户退款记录查询请求
type PersonalUserRefundListReq struct {
	RefundTransactionId       string `json:"refund_transaction_id" form:"refund_transaction_id"`
	Mobile                    string `json:"mobile" form:"mobile"`
	UserName                  string `json:"user_name" form:"user_name"`
	RefundChannel             string `json:"refund_channel" form:"refund_channel"`
	StartTime                 string `json:"start_time" form:"start_time"`
	EndTime                   string `json:"end_time" form:"end_time"`
	Page                      int32  `json:"page" form:"page"`
	PageSize                  int32  `json:"page_size" form:"page_size"`
}

// 导出个人用户充值记录请求
type ExportPersonalUserRechargeReq struct {
	RechargeTransactionId     string `json:"recharge_transaction_id" form:"recharge_transaction_id"`
	Mobile                    string `json:"mobile" form:"mobile"`
	UserName                  string `json:"user_name" form:"user_name"`
	RechargeChannel           string `json:"recharge_channel" form:"recharge_channel"`
	StartTime                 string `json:"start_time" form:"start_time"`
	EndTime                   string `json:"end_time" form:"end_time"`
	ExportType                string `json:"export_type" form:"export_type" binding:"required"`
}

// 导出个人用户退款记录请求
type ExportPersonalUserRefundReq struct {
	RefundTransactionId       string `json:"refund_transaction_id" form:"refund_transaction_id"`
	Mobile                    string `json:"mobile" form:"mobile"`
	UserName                  string `json:"user_name" form:"user_name"`
	RefundChannel             string `json:"refund_channel" form:"refund_channel"`
	StartTime                 string `json:"start_time" form:"start_time"`
	EndTime                   string `json:"end_time" form:"end_time"`
	ExportType                string `json:"export_type" form:"export_type" binding:"required"`
}
type SendSmsReq struct {
	Mobile string `json:"mobile" form:"mobile"  binding:"required"`
}
